﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using SOAPServices.Persistencia;
using SOAPServices.Dominio;

namespace SOAPServices
{
    public class Productos : IProductos
    {
        private ProductoDAO productoDAO = null;
        private ProductoDAO ProductoDAO
        {
            get
            {
                if (productoDAO == null)
                    productoDAO = new ProductoDAO();
                return productoDAO;
            }
        }

        public Producto CrearProducto(string txtProducto)
        {
            try
            {
                Producto v = new Producto()
                {
                    txtProducto = txtProducto
                };
                return ProductoDAO.Crear(v);
            }

            catch (FaultException ex)
            {
                throw ex;
            }
        }

        public Producto ObtenerProducto(int IdProducto)
        {
            return ProductoDAO.Obtener(IdProducto);
        }

        public Producto ModificarProducto(int IdProducto, string txtProducto)
        {
            try
            {
                Producto v = new Producto()
                {
                    IdProducto = IdProducto,
                    txtProducto = txtProducto
                };
                return ProductoDAO.Modificar(v);
            }
            catch (FaultException ex)
            {
                throw ex;
            }

        }

        public void EliminarProducto(int IdProducto)
        {
            Producto v = ProductoDAO.Obtener(IdProducto);
            ProductoDAO.Eliminar(v);
        }

        public List<Producto> ListarProducto()
        {
            return ProductoDAO.ListarTodos().ToList();
        }
    }
}
